class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        //三指针
        ListNode* cur=head;
        //避免了边界情况，如果只有一个或者没有，直接返回空了
        ListNode* prev=nullptr;
        while(cur)
        {
            //更新next
            ListNode* next=cur->next;   
            //反转prev和cur就行
            cur->next=prev;
            //更新prev和cur
            prev=cur;           
            cur=next;
        }
        return prev;
    }
};